// 实现一个算法，确定一个字符串 s 的所有字符是否全都不同。

// 示例 1：

// 输入: s = "leetcode"
// 输出: false 
// 示例 2：

// 输入: s = "abc"
// 输出: true
// 限制：

// 0 <= len(s) <= 100
// 如果你不使用额外的数据结构，会很加分。

// 来源：力扣（LeetCode）
// 链接：https://leetcode-cn.com/problems/is-unique-lcci
// 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

// ① map
var isUnique = function(astr) {
    let len = astr.length;
    if(len > 100) return false;
    
    let map = new Map();
    for(let i=0;i<=len-1;i++) {
        if(map.get(astr[i])) {
            return false;
        }else {
            map.set(astr[i], astr[i]);
        }
    }
    
    return true;
};

console.log(isUnique("a"));

// ② 通过set
var isUnique = function(astr) {
    let len = astr.length;
    if(len > 100) return false;
    
    return new Set(astr).size === len;
};

// ③ 通过includes
var isUnique = function(astr) {
    let len = astr.length;
    if(len > 100) return false;
    
    for(let i = 0;i <= len - 1;i++) {
        let substr = astr.substr(i+1);
        if(substr.includes(astr[i])) {
            return false;
        }
    }
    
    return true;
};
